#include "LinearMath/btConvexHullComputer.h"
#ifdef __cplusplus
extern "C" {
#endif
btConvexHullComputer::Edge* bullet_NewbtConvexHullComputerEdge(){
	btConvexHullComputer::Edge* wrap_out = new btConvexHullComputer::Edge();
	return wrap_out;
}

btConvexHullComputer::Edge* bullet_btConvexHullComputerEdge_getNextEdgeOfFace(btConvexHullComputer::Edge* c_this){
	btConvexHullComputer::Edge const * c_out = c_this->getNextEdgeOfFace();
	btConvexHullComputer::Edge* wrap_out = (btConvexHullComputer::Edge*)(void*)(c_out);
	return wrap_out;
}

btConvexHullComputer::Edge* bullet_btConvexHullComputerEdge_getNextEdgeOfVertex(btConvexHullComputer::Edge* c_this){
	btConvexHullComputer::Edge const * c_out = c_this->getNextEdgeOfVertex();
	btConvexHullComputer::Edge* wrap_out = (btConvexHullComputer::Edge*)(void*)(c_out);
	return wrap_out;
}

btConvexHullComputer::Edge* bullet_btConvexHullComputerEdge_getReverseEdge(btConvexHullComputer::Edge* c_this){
	btConvexHullComputer::Edge const * c_out = c_this->getReverseEdge();
	btConvexHullComputer::Edge* wrap_out = (btConvexHullComputer::Edge*)(void*)(c_out);
	return wrap_out;
}

int bullet_btConvexHullComputerEdge_getSourceVertex(btConvexHullComputer::Edge* c_this){
	int c_out = c_this->getSourceVertex();
	int wrap_out = (c_out);
	return wrap_out;
}

int bullet_btConvexHullComputerEdge_getTargetVertex(btConvexHullComputer::Edge* c_this){
	int c_out = c_this->getTargetVertex();
	int wrap_out = (c_out);
	return wrap_out;
}

btConvexHullComputer* bullet_NewbtConvexHullComputer(){
	btConvexHullComputer* wrap_out = new btConvexHullComputer();
	return wrap_out;
}

double bullet_btConvexHullComputer_compute(btConvexHullComputer* c_this,float* coords,int stride,int count,double shrink,double shrinkClamp){
	float const * c_arg_coords=(float const *)(void*)(coords);
	int c_arg_stride=stride;
	int c_arg_count=count;
	btScalar c_arg_shrink=shrink;
	btScalar c_arg_shrinkClamp=shrinkClamp;
	btScalar c_out = c_this->compute(c_arg_coords,c_arg_stride,c_arg_count,c_arg_shrink,c_arg_shrinkClamp);
	double wrap_out = (c_out);
	return wrap_out;
}

double bullet_btConvexHullComputer_compute1(btConvexHullComputer* c_this,double* coords,int stride,int count,double shrink,double shrinkClamp){
	double const * c_arg_coords=(double const *)(void*)(coords);
	int c_arg_stride=stride;
	int c_arg_count=count;
	btScalar c_arg_shrink=shrink;
	btScalar c_arg_shrinkClamp=shrinkClamp;
	btScalar c_out = c_this->compute(c_arg_coords,c_arg_stride,c_arg_count,c_arg_shrink,c_arg_shrinkClamp);
	double wrap_out = (c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
